<style></style>

<div id="order_integration">
    <blockquote class="layui-elem-quote">
       订单整合页面
    </blockquote>
    
    <!-- 搜索区域 -->
    <div class="layui-form-item" style="margin-bottom: 15px;">
        <div class="layui-input-block">
            <div class="layui-input-inline" style="width: 300px;">
                <input type="text" id="searchKeyword" placeholder="请输入订单ID或子订单信息进行搜索" class="layui-input">
            </div>
            <button class="layui-btn" id="searchBtn">搜索</button>
            <button class="layui-btn layui-btn-primary" id="resetBtn">重置</button>
            <button class="layui-btn layui-btn-normal" id="createOrderBtn">创建订单</button>
            <button class="layui-btn layui-btn-warm" id="refreshBtn">刷新数据</button>
            <button class="layui-btn layui-btn-danger" id="batchDeleteBtn">批量删除</button>
        </div>
    </div>
    
    <table class="layui-table" lay-data="{height:315}" id="ID-order-integration-table"> </table>
</div>


<!-- 自定义操作模板 -->
<script type="text/html" id="templet-order-tool">
  <div class="layui-clear-space">
    <a class="layui-btn layui-btn-sm" lay-event="detail">查看详情</a>
    <a class="layui-btn layui-btn-sm layui-btn-danger" lay-event="delete">删除</a>
  </div>
</script>

<!-- 创建子订单模态框 -->
<div id="createSubOrderModal" style="display: none; padding: 20px;">
    <div class="layui-form">
        <input type="hidden" id="parentOrderId">
        
        <div class="layui-form-item">
            <label class="layui-form-label">主订单ID</label>
            <div class="layui-input-block">
                <input type="text" id="displayParentOrderId" readonly class="layui-input layui-disabled">
            </div>
        </div>
        
        <div class="layui-form-item">
            <label class="layui-form-label">子订单名称</label>
            <div class="layui-input-block">
                <input type="text" id="subOrderName" placeholder="请输入子订单名称" class="layui-input">
            </div>
        </div>
        
        <div class="layui-form-item">
            <label class="layui-form-label">子订单编号</label>
            <div class="layui-input-block">
                <input type="text" id="subOrderNo" placeholder="请输入子订单编号" class="layui-input">
            </div>
        </div>
        
        <div class="layui-form-item">
            <label class="layui-form-label">价格</label>
            <div class="layui-input-block">
                <input type="text" id="subOrderPrice" placeholder="请输入价格" class="layui-input">
            </div>
        </div>
        
        <div class="layui-form-item">
            <label class="layui-form-label">保证金</label>
            <div class="layui-input-block">
                <input type="text" id="subOrderMargin" placeholder="请输入保证金" class="layui-input">
            </div>
        </div>
        
        <div class="layui-form-item">
            <div class="layui-input-block">
                <button type="button" class="layui-btn" id="submitSubOrderBtn">创建子订单</button>
                <button type="button" class="layui-btn layui-btn-primary" onclick="closeSubOrderModal()">关闭</button>
            </div>
        </div>
    </div>
</div>

<script>
    function closeSubOrderModal() {
        // 关闭子订单模态框
        layer.closeAll();
    }
</script>

<!-- 更新子订单模态框 -->
<div id="updateSubOrderModal" style="display: none; padding: 20px;">
    <div class="layui-form">
        <input type="hidden" id="updateSubOrderId">
        
        <div class="layui-form-item">
            <label class="layui-form-label">子订单名称</label>
            <div class="layui-input-block">
                <input type="text" id="updateSubOrderName" placeholder="请输入子订单名称" class="layui-input">
            </div>
        </div>
        
        <div class="layui-form-item">
            <label class="layui-form-label">子订单编号</label>
            <div class="layui-input-block">
                <input type="text" id="updateSubOrderNo" placeholder="请输入子订单编号" class="layui-input">
            </div>
        </div>
        
        <div class="layui-form-item">
            <label class="layui-form-label">价格</label>
            <div class="layui-input-block">
                <input type="text" id="updatePrice" placeholder="请输入价格" class="layui-input">
            </div>
        </div>
        
        <div class="layui-form-item">
            <label class="layui-form-label">保证金</label>
            <div class="layui-input-block">
                <input type="text" id="updateMargin" placeholder="请输入保证金" class="layui-input">
            </div>
        </div>
        
        <div class="layui-form-item">
            <div class="layui-input-block">
                <button type="button" class="layui-btn layui-btn-normal" id="submitUpdateSubOrderBtn">更新子订单</button>
                <button type="button" class="layui-btn layui-btn-primary" onclick="closeUpdateSubOrderModal()">关闭</button>
            </div>
        </div>
    </div>
</div>

<script>
    function closeUpdateSubOrderModal() {
        // 关闭更新子订单模态框
        layer.closeAll();
    }
</script>

<!-- 订单详情模态框 -->
<div id="orderDetailModal" style="display: none; padding: 20px;">
    <div class="layui-form">
        <div class="layui-form-item">
            <label class="layui-form-label">订单ID</label>
            <div class="layui-input-block">
                <input type="text" id="detailOrderId" readonly class="layui-input layui-disabled">
            </div>
        </div>
        
        <div class="layui-form-item">
            <label class="layui-form-label">子订单数量</label>
            <div class="layui-input-block">
                <input type="text" id="subOrderCount" readonly class="layui-input layui-disabled">
            </div>
        </div>
        
        <div class="layui-form-item">
            <label class="layui-form-label">子订单详情</label>
            <div class="layui-input-block">
                <table class="layui-table" id="subOrderTable" style="margin-top: 10px;">
                    <thead>
                        <tr>
                            <th>子订单名称</th>
                            <th>子订单编号</th>
                            <th>价格</th>
                            <th>保证金</th>
                            <th>创建时间</th>
                            <th>收益情况</th>
                            <th>操作</th>
                        </tr>
                    </thead>
                    <tbody id="subOrderBody"></tbody>
                </table>
            </div>
        </div>
        
        <div class="layui-form-item">
            <div class="layui-input-block" style="margin-top: 20px;">
                <button type="button" class="layui-btn layui-btn-normal" id="createSubOrderFromDetailBtn" style="padding: 0 25px; font-size: 14px;">创建子订单</button>
                <button type="button" class="layui-btn layui-btn-primary" onclick="closeDetailModal()" style="padding: 0 25px; font-size: 14px; margin-left: 10px;">关闭</button>
            </div>
        </div>
    </div>
</div>

<script>
    function closeDetailModal() {
        // 关闭模态框
        layer.closeAll();
    }
</script>

<script>
    layui.use(['table', 'layer'], function () {
        var $ = layui.$;
        var table = layui.table;
        var layer = layui.layer;
        
        // 存储原始订单数据
        var allOrders = [];
        
        // 渲染表格
        var orderTable = table.render({
            "elem": "#ID-order-integration-table",
            "title": "订单整合列表",
            "cols": [[
                {type: 'checkbox', fixed: 'left'},
                { "field": "order_id", "title": "订单ID", "width": 200 },
                { "field": "sub_order_count", "title": "子订单数量", "width": 120 },
                { "field": "has_sub_orders", "title": "是否有子订单", "width": 120, "templet": function(d){ return d.sub_order_count > 0 ? '是' : '否'; } },
                { "field": "Action", "title": "操作", "width": 300, "fixed": "right", "align": "center", "toolbar": "#templet-order-tool" },
            ]],
            "data": [], // 初始为空数据
            "page": true,
            "limit": 10
        });
        
        // 加载订单数据
        function loadOrderData() {
            // 显示加载中
            layer.load();
            
            // 调用订单列表接口，注意不需要传递page和page_size参数
            $.ajax({
                url: '/api/order/list/',
                type: 'GET',
                dataType: 'json',
                success: function(res) {
                    if (res.code === 0 && res.data) {
                        // 根据接口返回格式处理数据
                        var orderData = [];
                        
                        // 检查返回数据格式，兼容不同的返回结构
                        if (res.data.page && res.data.page.object_list) {
                            // 格式如OpenAPI规范所示
                            orderData = res.data.page.object_list.map(function(order) {
                                return {
                                    order_id: order.order_id,
                                    sub_order_count: order.sub_orders ? order.sub_orders.length : 0,
                                    sub_orders: order.sub_orders || []
                                };
                            });
                        } else if (Array.isArray(res.data)) {
                            // 直接是订单数组的情况
                            orderData = res.data.map(function(order) {
                                return {
                                    order_id: order.order_id,
                                    sub_order_count: order.sub_orders ? order.sub_orders.length : 0,
                                    sub_orders: order.sub_orders || []
                                };
                            });
                        }
                        
                        // 保存原始数据用于搜索
                        allOrders = orderData;
                        
                        // 更新表格数据
                        orderTable.reload({
                            data: orderData
                        });
                    } else {
                        layer.msg('获取订单数据失败：' + (res.message || '未知错误'), {icon: 5});
                    }
                },
                error: function(xhr, status, error) {
                    layer.msg('网络错误，无法获取订单数据', {icon: 5});
                    console.error('获取订单数据失败：', error);
                },
                complete: function() {
                    // 隐藏加载中
                    layer.closeAll('loading');
                }
            });
        }
        
        // 搜索功能
        function searchOrders(keyword) {
            if (!keyword || keyword.trim() === '') {
                // 没有搜索关键词，显示全部数据
                orderTable.reload({
                    data: allOrders
                });
                return;
            }
            
            // 执行本地搜索
            var searchResult = allOrders.filter(function(order) {
                // 搜索订单ID
                if (order.order_id && order.order_id.includes(keyword)) {
                    return true;
                }
                
                // 搜索子订单信息
                if (order.sub_orders && order.sub_orders.length > 0) {
                    for (var i = 0; i < order.sub_orders.length; i++) {
                        var subOrder = order.sub_orders[i];
                        if (
                            (subOrder.sub_order_id && subOrder.sub_order_id.includes(keyword)) ||
                            (subOrder.sub_order_name && subOrder.sub_order_name.includes(keyword)) ||
                            (subOrder.sub_order_no && subOrder.sub_order_no.includes(keyword))
                        ) {
                            return true;
                        }
                    }
                }
                
                return false;
            });
            
            // 更新表格数据
            orderTable.reload({
                data: searchResult,
                page: {
                    curr: 1 // 重置到第一页
                }
            });
        }
        
        // 初始化时加载数据
        loadOrderData();
        
        // 搜索按钮点击事件
        $('#searchBtn').on('click', function() {
            var keyword = $('#searchKeyword').val();
            searchOrders(keyword);
        });
        
        // 重置按钮点击事件
        $('#resetBtn').on('click', function() {
            $('#searchKeyword').val('');
            searchOrders('');
        });
        
        // 刷新按钮点击事件
        $('#refreshBtn').on('click', function() {
            // 直接调用加载订单数据函数
            loadOrderData();
        });
        
        // 批量删除按钮点击事件
        $('#batchDeleteBtn').on('click', function() {
            batchDeleteOrders();
        });
        
        // 回车键触发搜索
        $('#searchKeyword').on('keydown', function(e) {
            if (e.keyCode === 13) {
                var keyword = $(this).val();
                searchOrders(keyword);
            }
        });
        
        // 创建订单按钮点击事件
        $('#createOrderBtn').on('click', function() {
            // 显示加载中
            layer.load();
            
            // 先获取创建订单接口定义信息
            $.ajax({
                url: 'https://api.apifox.cn/temp-links/api/356444651?t=ffb95856-3836-4e15-8dc0-2083158c8065',
                type: 'GET',
                dataType: 'json',
                success: function(openapiDef) {
                    console.log('创建订单接口定义:', openapiDef);
                    
                    // 调用创建订单接口
                    createMainOrder();
                },
                error: function(xhr, status, error) {
                    console.error('获取创建订单接口定义失败:', error);
                    // 即使获取接口定义失败，也尝试调用创建订单接口
                    createMainOrder();
                }
            });
        });
        
        // 创建主订单函数
        function createMainOrder() {
            // 根据models.py中的数据结构，我们知道OrderList只有order_id字段
            // 所以创建订单时不需要额外参数
            
            $.ajax({
                url: '/api/order/create/',
                type: 'POST',
                contentType: 'application/json',
                data: JSON.stringify({}),
                dataType: 'json',
                success: function(res) {
                    // 隐藏加载中
                    layer.closeAll('loading');
                    
                    if (res.code === 0 && res.data && res.data.order_id) {
                        var orderId = res.data.order_id;
                        
                        // 显示创建成功消息
                        layer.msg('订单创建成功，订单ID：' + orderId, {icon: 6});
                        
                        // 先获取创建子订单接口定义信息
                        $.ajax({
                            url: 'https://api.apifox.cn/temp-links/api/356445165?t=a18a72b5-cd78-46e1-9250-36b87a92fe4a',
                            type: 'GET',
                            dataType: 'json',
                            success: function(openapiDef) {
                                console.log('创建子订单接口定义:', openapiDef);
                                
                                // 显示创建子订单模态框
                                showCreateSubOrderModal(orderId);
                            },
                            error: function(xhr, status, error) {
                                console.error('获取创建子订单接口定义失败:', error);
                                // 即使获取接口定义失败，也显示创建子订单模态框
                                showCreateSubOrderModal(orderId);
                            }
                        });
                    } else {
                        layer.msg('创建订单失败：' + (res.message || '未知错误'), {icon: 5});
                    }
                },
                error: function(xhr, status, error) {
                    // 隐藏加载中
                    layer.closeAll('loading');
                    
                    layer.msg('网络错误，无法创建订单', {icon: 5});
                    console.error('创建订单失败：', error);
                }
            });
        }
        
        // 显示创建子订单模态框
        function showCreateSubOrderModal(orderId) {
            // 设置父订单ID
            $('#parentOrderId').val(orderId);
            $('#displayParentOrderId').val(orderId);
            
            // 重置表单
            $('#subOrderName').val('');
            $('#subOrderNo').val('');
            $('#subOrderPrice').val('');
            $('#subOrderMargin').val('');
            
            // 打开模态框
            layer.open({
                type: 1,
                title: '创建子订单',
                content: $('#createSubOrderModal'),
                area: ['600px', 'auto'],
                success: function() {
                    // 重新渲染表单
                    layui.form.render();
                },
                end: function() {
                    // 隐藏模态框
                    $('#createSubOrderModal').hide();
                    
                    // 检查是否未输入子订单信息
                    var subOrderName = $('#subOrderName').val().trim();
                    var subOrderNo = $('#subOrderNo').val().trim();
                    var subOrderPrice = $('#subOrderPrice').val().trim();
                    var subOrderMargin = $('#subOrderMargin').val().trim();
                    
                    // 如果所有字段都为空，则删除该订单
                    if (!subOrderName && !subOrderNo && !subOrderPrice && !subOrderMargin) {
                        deleteOrder(orderId);
                    }
                }
            });
        }
        
        // 提交子订单创建
        $('#submitSubOrderBtn').on('click', function() {
            var orderId = $('#parentOrderId').val();
            var subOrderName = $('#subOrderName').val();
            var subOrderNo = $('#subOrderNo').val();
            
            // 表单验证
            if (!subOrderName) {
                layer.msg('请输入子订单名称', {icon: 5});
                return;
            }
            
            if (!subOrderNo) {
                layer.msg('请输入子订单编号', {icon: 5});
                return;
            }
            
            // 价格和保证金可以为空，但如果输入了值，必须是有效的数字
            var subOrderPrice = $('#subOrderPrice').val().trim();
            var subOrderMargin = $('#subOrderMargin').val().trim();
            
            if (subOrderPrice && !/^\d+(\.\d{1,2})?$/.test(subOrderPrice)) {
                layer.msg('价格格式不正确，请输入有效的数字(最多两位小数)', {icon: 5});
                return;
            }
            
            if (subOrderMargin && !/^\d+(\.\d{1,2})?$/.test(subOrderMargin)) {
                layer.msg('保证金格式不正确，请输入有效的数字(最多两位小数)', {icon: 5});
                return;
            }
            
            // 显示加载中
            layer.load();
            
            // 准备请求数据
            var requestData = {
                order_id: orderId,
                sub_order_name: subOrderName,
                sub_order_no: subOrderNo
            };
            
            // 如果输入了价格和保证金，则添加到请求数据中
            if (subOrderPrice) {
                requestData.price = parseFloat(subOrderPrice);
            }
            
            if (subOrderMargin) {
                requestData.margin = parseFloat(subOrderMargin);
            }
            
            // 调用创建子订单API
            $.ajax({
                url: '/api/order/sub/create/',
                type: 'POST',
                data: requestData,
                dataType: 'json',
                success: function(res) {
                    // 隐藏加载中
                    layer.closeAll('loading');
                    
                    if (res.code === 0 && res.data && res.data.sub_order_id) {
                        layer.msg('子订单创建成功，子订单ID：' + res.data.sub_order_id, {icon: 6});
                        
                        // 关闭模态框
                        closeSubOrderModal();
                        
                        // 重新加载订单数据
                        loadOrderData();
                    } else {
                        layer.msg('创建子订单失败：' + (res.message || '未知错误'), {icon: 5});
                    }
                },
                error: function(xhr, status, error) {
                    // 隐藏加载中
                    layer.closeAll('loading');
                    
                    layer.msg('网络错误，无法创建子订单', {icon: 5});
                    console.error('创建子订单失败：', error);
                }
            });
        });
        
        // 删除子订单函数
        function deleteSubOrder(subOrderId) {
            // 显示加载中
            layer.load();
            
            // 调用删除子订单API
            $.ajax({
                url: '/api/order/sub/delete/',
                type: 'POST',
                data: {
                    sub_order_id: subOrderId
                },
                dataType: 'json',
                success: function(res) {
                    // 隐藏加载中
                    layer.closeAll('loading');
                    
                    if (res.code === 0) {
                        layer.msg('子订单删除成功', {icon: 6});
                        
                        // 重新加载订单数据
                        loadOrderData();
                    } else {
                        layer.msg('删除子订单失败：' + (res.message || '未知错误'), {icon: 5});
                    }
                },
                error: function(xhr, status, error) {
                    // 隐藏加载中
                    layer.closeAll('loading');
                    
                    layer.msg('网络错误，无法删除子订单', {icon: 5});
                    console.error('删除子订单失败：', error);
                }
            });
        }
        
        // 删除订单函数，支持回调函数用于批量删除
        function deleteOrder(orderId, callback) {
            // 调用删除订单接口
            $.ajax({
                url: '/api/order/delete/',
                type: 'POST',
                data: {
                    order_id: orderId
                },
                dataType: 'json',
                success: function(res) {
                    if (callback) {
                        callback(res.code === 0, orderId, res);
                    } else {
                        // 如果没有回调，保留原有逻辑
                        if (res.code === 0) {
                            console.log('订单删除成功');
                            // 重新加载订单数据
                            loadOrderData();
                        } else {
                            console.error('删除订单失败：', res.message || '未知错误');
                        }
                    }
                },
                error: function(xhr, status, error) {
                    if (callback) {
                        callback(false, orderId, {message: '网络错误'});
                    } else {
                        console.error('网络错误，无法删除订单：', error);
                    }
                }
            });
        }
        
        // 批量删除订单函数
        function batchDeleteOrders() {
            // 获取选中的订单
            var checkStatus = table.checkStatus('ID-order-integration-table');
            var data = checkStatus.data;
            
            if (data.length === 0) {
                layer.msg('请至少选择一个订单', {icon: 5});
                return;
            }
            
            // 显示确认删除对话框
            layer.confirm('确定要删除选中的 ' + data.length + ' 个订单吗？', {
                icon: 3,
                title: '确认批量删除'
            }, function(index) {
                // 关闭确认对话框
                layer.close(index);
                
                // 显示加载中
                var loadingIndex = layer.load(2, {
                    shade: [0.3, '#333']
                });
                
                // 准备删除的订单ID数组
                var orderIds = data.map(function(item) {
                    return item.order_id;
                });
                
                var total = orderIds.length;
                var successCount = 0;
                var failCount = 0;
                var failOrders = [];
                
                // 使用递归方式逐个删除，避免并发请求过多
                function deleteNext(index) {
                    if (index >= total) {
                        // 所有订单处理完毕
                        layer.close(loadingIndex);
                        
                        // 显示删除结果
                        var msg = '批量删除完成：成功 ' + successCount + ' 个，失败 ' + failCount + ' 个';
                        if (failCount > 0) {
                            msg += '\n失败订单ID：' + failOrders.join(', ');
                        }
                        
                        layer.alert(msg, {
                            icon: 6,
                            title: '批量删除结果'
                        }, function() {
                            // 重新加载订单数据
                            loadOrderData();
                        });
                        return;
                    }
                    
                    // 显示当前进度
                    layer.msg('正在删除订单 ' + (index + 1) + '/' + total, {
                        time: 1000, // 1秒后自动关闭
                        icon: 16,
                        shade: 0.01
                    });
                    
                    // 删除当前订单
                    deleteOrder(orderIds[index], function(success, orderId, res) {
                        if (success) {
                            successCount++;
                        } else {
                            failCount++;
                            failOrders.push(orderId);
                        }
                        
                        // 递归删除下一个订单，设置适当的延迟避免请求过于频繁
                        setTimeout(function() {
                            deleteNext(index + 1);
                        }, 500); // 500毫秒延迟
                    });
                }
                
                // 开始批量删除
                deleteNext(0);
            });
        }
        
        // 添加表格事件监听
        table.on('tool(ID-order-integration-table)', function(obj) {
            var data = obj.data; // 获得当前行数据
            var layEvent = obj.event; // 获得 lay-event 对应的值
            
            if(layEvent === 'detail'){
                // 显示订单详情模态框
                showOrderDetail(data);
            } else if(layEvent === 'delete'){
                // 显示确认删除对话框
                layer.confirm('确定要删除该订单吗？', {
                    icon: 3,
                    title: '确认删除'
                }, function(index) {
                    // 关闭确认对话框
                    layer.close(index);
                    
                    // 调用删除订单函数
                    deleteOrder(data.order_id);
                });
            }
        });
        
        // 显示订单详情
        function showOrderDetail(orderData) {
            // 填充模态框数据
            $('#detailOrderId').val(orderData.order_id);
            $('#subOrderCount').val(orderData.sub_order_count);
            
            // 添加标语文本
            if ($('#sloganText').length === 0) {
                var sloganDiv = $('<div id="sloganText" style="margin-top: 10px; padding: 10px; background-color: #f8f8f8; border-left: 4px solid #009688;">');
                sloganDiv.text('高效管理订单，智能计算收益！');
                $('.layui-form-item:has(#detailOrderId)').after(sloganDiv);
            }
            
            // 填充子订单表格
            var subOrderBody = $('#subOrderBody');
            subOrderBody.empty();
            
            // 查找代练通和代练丸子的价格和保证金
            var dailiantongPrice = 0;
            var dailiantongMargin = 0;
            var dailianwanziPrice = 0;
            var dailianwanziMargin = 0;
            
            if (orderData.sub_orders && orderData.sub_orders.length > 0) {
                // 计算收益和保证金相关信息
                orderData.sub_orders.forEach(function(subOrder) {
                    if (subOrder.sub_order_name === '代练通') {
                        dailiantongPrice = parseFloat(subOrder.price || 0);
                        dailiantongMargin = parseFloat(subOrder.margin || 0);
                    } else if (subOrder.sub_order_name === '代练丸子') {
                        dailianwanziPrice = parseFloat(subOrder.price || 0);
                        dailianwanziMargin = parseFloat(subOrder.margin || 0);
                    }
                });
                
                // 计算净赚金额
                var profit = dailiantongPrice - dailianwanziPrice;
                // 计算可获取的保证金差额
                var marginDifference = dailianwanziMargin - dailiantongMargin;
                
                // 生成收益信息文本
                var profitInfo = '';
                if (dailiantongPrice > 0 && dailianwanziPrice > 0) {
                    profitInfo = '净赚' + profit.toFixed(2) + '元';
                }
                
                // 生成保证金说明文本
                var marginInfo = '';
                if (dailiantongMargin > 0 && dailianwanziMargin > 0 && marginDifference > 0) {
                    marginInfo = '如未完成任务可获取保证金' + marginDifference.toFixed(2) + '元';
                }
                
                // 遍历子订单并生成表格行
                orderData.sub_orders.forEach(function(subOrder) {
                    var tr = $('<tr>');
                    // 增大子订单名称单元格尺寸
                    tr.append('<td style="width: 150px;">' + (subOrder.sub_order_name || '') + '</td>');
                    tr.append('<td>' + (subOrder.sub_order_no || '') + '</td>');
                    tr.append('<td>' + (subOrder.price || '') + '</td>');
                    tr.append('<td>' + (subOrder.margin || '') + '</td>');
                    tr.append('<td>' + (subOrder.create_time || '') + '</td>');
                    
                    // 显示收益情况，只有主订单同时有代练通和代练丸子子订单时才显示
                    if (subOrder.sub_order_name === '代练通') {
                        var ShoYiText = '';
                        var fullProfitInfo = [];
                        // 显示完成订单的净赚金额
                        if (dailiantongPrice > 0 && dailianwanziPrice > 0) {
                            var profitText = '完成订单：净赚' + profit.toFixed(2) + '元';
                            ShoYiText += '<div>' + profitText + '</div>';
                            fullProfitInfo.push(profitText);
                        }
                        // 显示未完成订单通过保证金的净赚金额
                        if (dailiantongMargin > 0 && dailianwanziMargin > 0) {
                            var marginProfitText = '未完成订单：通过保证金净赚' + marginDifference.toFixed(2) + '元';
                            ShoYiText += '<div>' + marginProfitText + '</div>';
                            fullProfitInfo.push(marginProfitText);
                        }
                        
                        if (fullProfitInfo.length > 0) {
                            // 添加点击弹出功能，将完整信息存储在data属性中
                            tr.append('<td style="color: #009688; cursor: pointer;" class="profit-info" data-info="' + fullProfitInfo.join('\n') + '">' + (ShoYiText || '') + '</td>');
                        } else {
                            tr.append('<td></td>');
                        }
                    } else {
                        tr.append('<td></td>');
                    }
                    
                    tr.append('<td style="display:flex;"><a href="javascript:void(0);" class="update-sub-order layui-btn layui-btn-sm" data-id="' + (subOrder.sub_order_id || '') + '" data-name="' + (subOrder.sub_order_name || '') + '" data-no="' + (subOrder.sub_order_no || '') + '" data-price="' + (subOrder.price || '') + '" data-margin="' + (subOrder.margin || '') + '">更新</a>  <a href="javascript:void(0);" class="layui-btn layui-btn-sm layui-bg-red delete-sub-order" data-id="' + (subOrder.sub_order_id || '') + '" data-name="' + (subOrder.sub_order_name || '') + '">删除</a></td>');
                    subOrderBody.append(tr);
                });
            } else {
                subOrderBody.append('<tr><td colspan="7" style="text-align: center;">暂无子订单</td></tr>');
            }
            
            // 打开模态框
            layer.open({
                type: 1,
                title: '订单详情 - 订单ID: ' + orderData.order_id,
                content: $('#orderDetailModal'),
                // 使用响应式宽度，适配不同屏幕尺寸
                area: ['90%', 'auto'],
                maxWidth: 1000,
                maxHeight: '90%',
                resize: true,
                success: function() {
                    // 重新渲染表单
                    layui.form.render();
                    
                    // 为收益信息添加点击弹出功能
                    $('.profit-info').on('click', function() {
                        var fullInfo = $(this).attr('data-info');
                        layer.alert(fullInfo, {
                            title: '收益详情',
                            skin: 'layui-layer-molv',
                            closeBtn: 1,
                            anim: 0
                        });
                    });
                },
                end: function() {
                    // 隐藏模态框
                    $('#orderDetailModal').hide();
                    // 移除标语文本，避免重复添加
                    $('#sloganText').remove();
                }
            });
        }
        
        // 订单详情页创建子订单按钮点击事件
        $('#createSubOrderFromDetailBtn').on('click', function() {
            var orderId = $('#detailOrderId').val();
            
            if (orderId) {
                // 先关闭详情模态框
                closeDetailModal();
                
                // 然后显示创建子订单模态框
                showCreateSubOrderModal(orderId);
            } else {
                layer.msg('订单ID不存在，无法创建子订单', {icon: 5});
            }
        });
        
        // 点击更新子订单
        $(document).on('click', '.update-sub-order', function() {
            var subOrderId = $(this).data('id');
            var subOrderName = $(this).data('name');
            var subOrderNo = $(this).data('no');
            var price = $(this).data('price');
            var margin = $(this).data('margin');
            
            showUpdateSubOrderModal(subOrderId, subOrderName, subOrderNo, price, margin);
        });
        
        // 点击删除子订单
        $(document).on('click', '.delete-sub-order', function() {
            var subOrderId = $(this).data('id');
            var subOrderName = $(this).data('name');
            
            // 显示确认删除对话框
            layer.confirm('确定要删除子订单 "' + subOrderName + '" 吗？', {
                icon: 3,
                title: '确认删除子订单'
            }, function(index) {
                // 关闭确认对话框
                layer.close(index);
                
                // 调用删除子订单函数
                deleteSubOrder(subOrderId);
            });
        });
        
        // 显示更新子订单模态框
        function showUpdateSubOrderModal(subOrderId, subOrderName, subOrderNo, price, margin) {
            // 设置子订单信息
            $('#updateSubOrderId').val(subOrderId);
            $('#updateSubOrderName').val(subOrderName);
            $('#updateSubOrderNo').val(subOrderNo);
            $('#updatePrice').val(price);
            $('#updateMargin').val(margin);
            
            // 打开模态框
            layer.open({
                type: 1,
                title: '更新子订单',
                content: $('#updateSubOrderModal'),
                area: ['600px', 'auto'],
                success: function() {
                    // 重新渲染表单
                    layui.form.render();
                },
                end: function() {
                    // 隐藏模态框
                    $('#updateSubOrderModal').hide();
                }
            });
        }
        
        // 提交更新子订单
        $('#submitUpdateSubOrderBtn').on('click', function() {
            var subOrderId = $('#updateSubOrderId').val();
            var subOrderName = $('#updateSubOrderName').val();
            var subOrderNo = $('#updateSubOrderNo').val();
            var price = $('#updatePrice').val();
            var margin = $('#updateMargin').val();
            
            // 表单验证
            if (!subOrderId) {
                layer.msg('子订单ID不存在', {icon: 5});
                return;
            }
            
            if (!subOrderName) {
                layer.msg('请输入子订单名称', {icon: 5});
                return;
            }
            
            if (!subOrderNo) {
                layer.msg('请输入子订单编号', {icon: 5});
                return;
            }
            
            // 显示加载中
            layer.load();
            
            // 准备请求数据
            var requestData = {
                sub_order_id: subOrderId,
                sub_order_name: subOrderName,
                sub_order_no: subOrderNo
            };
            
            // 如果价格和保证金有值，则添加到请求数据中
            if (price !== undefined && price !== null && price !== '') {
                requestData.price = price;
            }
            
            if (margin !== undefined && margin !== null && margin !== '') {
                requestData.margin = margin;
            }
            
            // 调用更新子订单API
            $.ajax({
                url: '/api/order/sub/update/',
                type: 'POST',
                data: requestData,
                dataType: 'json',
                success: function(res) {
                    // 隐藏加载中
                    layer.closeAll('loading');
                    
                    if (res.code === 0 && res.data) {
                        layer.msg('子订单更新成功', {icon: 6});
                        
                        // 关闭模态框
                        closeUpdateSubOrderModal();
                        
                        // 重新加载订单数据
                        loadOrderData();
                    } else {
                        layer.msg('更新子订单失败：' + (res.message || '未知错误'), {icon: 5});
                    }
                },
                error: function(xhr, status, error) {
                    // 隐藏加载中
                    layer.closeAll('loading');
                    
                    layer.msg('网络错误，无法更新子订单', {icon: 5});
                    console.error('更新子订单失败：', error);
                }
            });
        });
        
        // 关闭更新子订单模态框
        function closeUpdateSubOrderModal() {
            layer.closeAll();
        }
    });
</script>